Итак, создаем приложение на базе диалогового окна с подключением Automation и с именем TestExploler. В начале нам нужно добавить информацию об объекте Exploler из библиотеки типов. Запускаем Class Wizard. Выбираем кнопку Add Class и в выпадающих вариантах From Type Library. Идем в папочку:
windows\system
И находим Shdocvw.dll. Выбираем его и нажимаем "Открыть". Появится диалоговое окно со списком классов, которые нужно добавить в проект. Мы выберем IWebBrowserApp и нажмем OK.

Посмотрите вкладку ClassView и Вы найдете класс IWebBrowserApp. Если Вы попробуете скомпилировать проект, то у Вас это может не получиться, как у меня. Будет ошибка говорящая о том, что такой класс уже есть. Выход такой - переименовать. Для этого удобно использовать Replace:
IWebBrowserApp на IWebBrowserApps
Подключаем описание класса и переменную класса к классу диалога:
// T1Dlg.h : header file
//
......
class CT1DlgAutoProxy;
#include "shdocvw.h"
///////////////////////////////////////////////////
// CT1Dlg dialog
class CT1Dlg : public CDialog
{
......
public:
CT1Dlg(CWnd* pParent = NULL); // standard constructor
virtual ~CT1Dlg();
IWebBrowserApps* mExps;
......
};
Создаем объект при создании окна и удаляем при удалении окна.
BOOL CTestExplolerDlg::OnInitDialog()
{
......
// TODO: Add extra initialization here
mExp = new IWebBrowserApps;
return TRUE; // return TRUE unless you set the focus to a control
}
void CTestExplolerDlg::OnClose()
{
if (CanExit())
{
delete mExp;
CDialog::OnClose();
}
}
После создания класса его необходимо связать с реальным объектом:
BOOL CTestExplolerDlg::OnInitDialog()
{
......
// TODO: Add extra initialization here
mExp = new IWebBrowserApps;
if (!mExp->CreateDispatch("InternetExplorer.Application"))
{
AfxMessageBox("Error Dispath");
return FALSE;
}
return TRUE; // return TRUE unless you set the focus to a control
}
Естественно, что запись об этом объекте должна быть в реестре в разделе HKEY_CLASSES_ROOT.

Вот теперь все готово к использованию Explorer.
void CTestExplolerDlg::OnButton1()
{
COleVariant noArg;
mExp->Navigate("http://www.firststeps.ru/",&noArg,&noArg,&noArg,&noArg);
mExp->SetVisible(TRUE);
}
Мы просто воспользовались методами класса.